// utils/auth.js

/**
 * 获取token
 * 从loginUser对象中提取token
 */
export const getToken = () => {
  try {
    const loginUser = localStorage.getItem('loginUser')
    if (loginUser) {
      const user = JSON.parse(loginUser)
      return user.token
    }
    return null
  } catch (error) {
    console.error('获取token失败:', error)
    return null
  }
}

/**
 * 移除token和登录信息
 */
export const removeToken = () => {
  try {
    localStorage.removeItem('loginUser')
    // 如果有单独存储的token也一并清除
    localStorage.removeItem('token')
  } catch (error) {
    console.error('清除token失败:', error)
  }
}

/**
 * 设置登录用户信息
 */
export const setLoginUser = (userData) => {
  try {
    localStorage.setItem('loginUser', JSON.stringify(userData))
  } catch (error) {
    console.error('保存登录信息失败:', error)
  }
}

/**
 * 获取登录用户信息
 */
export const getLoginUser = () => {
  try {
    const loginUser = localStorage.getItem('loginUser')
    return loginUser ? JSON.parse(loginUser) : null
  } catch (error) {
    console.error('获取登录信息失败:', error)
    return null
  }
}

/**
 * 检查是否已登录
 */
export const isLoggedIn = () => {
  return !!getToken()
}

/**
 * 获取用户ID
 */
export const getUserId = () => {
  const loginUser = getLoginUser()
  return loginUser?.id || loginUser?.userId || null
}

/**
 * 获取用户名
 */
export const getUsername = () => {
  const loginUser = getLoginUser()
  return loginUser?.username || loginUser?.name || null
}